In state-of-the-art Software Transactional Memory (STM) systems, threads carry out the execution of transactions as non-interruptible tasks. Hence, a thread can react to the injection of a higher priority transactional task and take care of its processing only at the end of the currently executed transaction. In this article we pursue a paradigm shift where the execution of an in-memory transaction is carried out as a preemptable task, so that a thread can start processing a higher priority transactional task before finalizing its current transaction. We achieve this goal in an application-transparent manner, by only relying on Operating System facilities we include in our preemptive STM architecture. With our approach we are able to re-evaluate CPU assignment across transactions along a same thread every few tens of microseconds. This is mandatory for an effective priority-aware architecture given the typically finer-grain nature of in-memory transactions compared to their counterpart in database systems. We integrated our preemptive STM architecture with the TinySTM package, and released it as open source. We also provide the results of an experimental assessment of our proposal based on running a port of the TPC-C benchmark to the STM environment.

Preemptive Software Transactional Memory / Silvestri, Emiliano; Economo, Simone; DI SANZO, Pierangelo; Pellegrini, Alessandro; Quaglia, Francesco. - ELETTRONICO. - (2017), pp. 294-303. (Intervento presentato al convegno 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing tenutosi a Madrid; Spain nel May 14 - 17, 2017) [10.1109/CCGRID.2017.98].

Preemptive Software Transactional Memory

SILVESTRI, EMILIANO
;
ECONOMO, SIMONE;DI SANZO, PIERANGELO;PELLEGRINI, ALESSANDRO;QUAGLIA, Francesco
2017

Abstract

In state-of-the-art Software Transactional Memory (STM) systems, threads carry out the execution of transactions as non-interruptible tasks. Hence, a thread can react to the injection of a higher priority transactional task and take care of its processing only at the end of the currently executed transaction. In this article we pursue a paradigm shift where the execution of an in-memory transaction is carried out as a preemptable task, so that a thread can start processing a higher priority transactional task before finalizing its current transaction. We achieve this goal in an application-transparent manner, by only relying on Operating System facilities we include in our preemptive STM architecture. With our approach we are able to re-evaluate CPU assignment across transactions along a same thread every few tens of microseconds. This is mandatory for an effective priority-aware architecture given the typically finer-grain nature of in-memory transactions compared to their counterpart in database systems. We integrated our preemptive STM architecture with the TinySTM package, and released it as open source. We also provide the results of an experimental assessment of our proposal based on running a port of the TPC-C benchmark to the STM environment.
2017
17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing
Software Transactional Memory; Preemption; Priority Scheduling
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
Preemptive Software Transactional Memory / Silvestri, Emiliano; Economo, Simone; DI SANZO, Pierangelo; Pellegrini, Alessandro; Quaglia, Francesco. - ELETTRONICO. - (2017), pp. 294-303. (Intervento presentato al convegno 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing tenutosi a Madrid; Spain nel May 14 - 17, 2017) [10.1109/CCGRID.2017.98].
File allegati a questo prodotto
File Dimensione Formato  
Silvestri_Postprint_Preemptive-Software_2017.pdf

accesso aperto

Note: https://ieeexplore.ieee.org/document/7973715
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 301.97 kB
Formato Adobe PDF
301.97 kB Adobe PDF
Silvestri_Preemptive-Software_2017.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 339.68 kB
Formato Adobe PDF
339.68 kB Adobe PDF   Contatta l'autore
Silvestri_Frontespizio-indice_Preemptive-Software_2017.pdf

solo gestori archivio

Tipologia: Altro materiale allegato
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 788.24 kB
Formato Adobe PDF
788.24 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/975469
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 2
  • ???jsp.display-item.citation.isi??? 2
social impact